<?php

class Page_Controller_Browse_Add extends Nuo_Controller
{
	function execute($request)
	{
		if (!Nuo::allow('page.addNew'))
		{
			return  'could not create blog';
			return;
		}

		$table = Nuo::getTable('page');

		$parentId = $request -> getParam('main-resource');

		$poster = Nuo::getUser();

		$userId = Nuo::getUserId();

		if ($parentId)
		{
			$parentItem = Nuo::getItem($parentId);
		}

		if (!$parentItem)
		{
			$parentItem = Nuo::getUser();
		}

		$form = Nuo::getObject('blog/create', 'form');

		if ($request -> isPost() && $form -> isValid($_POST))
		{
			$data = $form -> getData();

			$item = $table -> fetchNew();

			$item -> fromArray($data);

			$item -> created_at = time();

			$item -> user_id = $userId;

			$item -> setPoster($poster) -> setResource($parentItem);

			$item -> save();

			Nuo::getApi('core/alias') -> addAlias($item);

			Nuo::getApi('activity') -> addFeed($poster, $poster, $item, 'page:addNew');

			$uri = $item -> getUrl('');

			Nuo::redirect($uri);
		}

		return  Nuo::getView()->render('core/view/controller/browse/edit', array('form' => $form));
	}

}
